package com.woniu.sharepark.platformsystem.log.config;

import com.woniu.sharepark.platformsystem.log.interceptor.LogInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import java.util.List;

/**
 * config类，配置拦截器，视图解析器
 * @author zy
 * @date 2019/6/3 15:23
 */
@Configuration
public class Config implements WebMvcConfigurer {

    /**
     * 使用bean注解使得容器中有interceptor，并且为其中的auto属性restTemplate/logUtil(两者都在容器中)注入了值，再添加拦截器
     * 若直接new自定义拦截器，则其中的auto没值
     * @return 拦截器
     */
    @Bean
    public LogInterceptor interceptor(){
        return new LogInterceptor();
    }

    /**
     *
     * @param registry 添加自定义拦截器
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry){
        registry.addInterceptor(interceptor()).addPathPatterns("/**");
    }

    /**
     *
     * @param resolvers 添加视图解析器
     */
    @Override
    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers){

    }
}

